package com.xiaoshuidi.cloud.module.contract.controller.admin.fee.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 基本费项 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class FeeTypesBaseVO {

    /**
     * 费用编码
     */
    @Schema(description = "费用编码", required = true)
    @NotNull(message = "费用编码不能为空")
    private String feeCode;

    /**
     * 费用名称
     */
    @Schema(description = "费用名称", required = true)
    @NotNull(message = "费用名称不能为空")
    private String feeName;

    /**
     * 计费单位
     */
    @Schema(description = "计费单位")
    private String unit;

    /**
     * 是否是系统专用费项
     */
    @Schema(description = "是否是系统专用费项", required = true)
    private Integer system;

    /**
     * 来源 1 系统预设 | 2 用户添加
     */
    @Schema(description = "来源 1 系统预设 | 2 用户添加 ", required = true)
    @NotNull(message = "来源不能为空 1 系统预设 | 2 用户添加")
    private Integer source = 1;

    /**
     * 版本号
     */
    @Schema(description = "版本号", required = true)
    @NotNull(message = "版本号不能为空")
    private Integer version;

}
